Информационные технологии шиян / Гайд ЛР 1 Курс Валют XML
.docxПолучение курса валют из XML-файла ЦБ РФ в Excel
Сохранить excel-файл как «Книга Excel с поддержкой макросов».
Перейти в редактор VBA комбинацией Alt+F11.
В верхней панели выбрать Insert > Module.
В открывшемся редакторе вставить следующий код:
-
Sub GetEuroRateFromCBR()
Dim URL As String
Dim XMLHttp As Object
Dim xmlDoc As Object
Dim node As Object
Dim i As Integer
' Укажите URL-адрес для получения данных с сайта ЦБ' РФ
URL = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" & Format(Date, "dd/mm/yyyy")
' Создаем новый объект XMLHttp для отправки запросов
Set XMLHttp = CreateObject("MSXML2.XMLHTTP")
' Открываем соединение и отправляем запрос
XMLHttp.Open "GET", URL, False
XMLHttp.send
' Создаем новый объект XML
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
' Загружаем полученные данные в XML
xmlDoc.LoadXML XMLHttp.responseText
' Очищаем текущую таблицу
Лист4.Cells.Clear
' Записываем заголовки
Лист4.Cells(1, 1).Value = "Евро"
Лист4.Cells(2, 1).Value = "Дата"
Лист4.Cells(2, 2).Value = "Единиц"
Лист4.Cells(2, 3).Value = "Курс"
' Ищем элементы "ValuteCursOnDate" и записываем данные в таблицу Excel
i = 3
For Each node In xmlDoc.SelectNodes("//Valute[CharCode='EUR']")
Лист4.Cells(i, 1).Value = Date
Лист4.Cells(i, 2).Value = node.SelectNodes("Nominal")(0).Text
Лист4.Cells(i, 3).Value = Replace(node.SelectNodes("Value")(0).Text, ",", ".")
i = i + 1
Next node
Лист4.Columns("A").AutoFit
' Очищаем память
Set XMLHttp = Nothing
Set xmlDoc = Nothing
End Sub
Сохранить модуль комбинацией Ctrl+S, перейти на четвёртый лист, нажать комбинацию Alt+F8.